package cn.maihe.elg.operation.centers.follow.handler.dto.bo;

import cn.maihe.elg.operation.common.annotation.NumberFmt;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;

/**
 * @Description 项目信息
 * @Author caixh
 * @Date 2021/9/17.
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ProjectBO {
    /**
     * 项目名称,必填
     */
    @NotEmpty(message = "项目名称不能为空")
    @Size(min=1,max = 200,message = "项目名称最大长度不能超过200")
    private String name;
    /**
     * v2.0版本，字段名调整，招标项目编号,必填
     */
    @NotEmpty(message = "招标项目编号不能为空")
    @Size(min=1,max = 100,message = "招标项目编号最大长度不能超过100")
    private String tpid;
    /**
     * v2.0版本，字段名调整，标段包编号 ，选填
     */
    @Size(min=0,max = 100,message = "标段包编号 最大长度不能超过100")
    private String bdid;
    /**
     * v2.0版本，新增字段标段包名称 ，选填
     */
    @Size(min=0,max = 200,message = "标段包名称最大长度不能超过200")
    private String bd_name;
    /**
     * 开标时间,必填
     */
    @NotEmpty(message = "开标时间不能为空")
    private String start_date;
    /**
     * 保证金金额,单位：元,必填
     */
    @NotEmpty(message = "保证金金额不能为空")
    @NumberFmt(scale = 2)
    private String amount;
    /**
     * 省地区代码，选填
     */
    @Size(min=0,max = 30,message = "省地区代码最大长度不能超过30")
    private String province;
    /**
     * 市地区代码，选填
     */
    @Size(min=0,max = 30,message = "市地区代码最大长度不能超过30")
    private String city;
    /**
     * 县地区代码 ，选填
     */
    @Size(min=0,max = 30,message = "县地区代码最大长度不能超过30")
    private String district;
    /**
     * v2.0版本新增字段。保证金缴纳截止时间,必填
     */
    @NotEmpty(message = "保证金缴纳截止时间不能为空")
    private String bzj_etime;
    /**
     * v2.0版本新增字段。项目创建时间,必填
     */
//    @NotEmpty(message = "项目创建时间不能为空")
    private String createtime;
    /**
     * 计划工期,必填
     */
//    @NotEmpty(message = "计划工期不能为空")
    private String plan_date;
    /**
     * 项目预计造价,必填
     */
//    @NotEmpty(message = "项目预计造价不能为空")
    private String bulid_price;
    /**
     * 项目建设地点,必填
     */
    @NotEmpty(message = "项目建设地点不能为空")
    private String bulid_place;

    /**
     * 招标项目类别,必填,枚举：建筑设计‐A01;市政设计‐A02;园林绿化‐A98;公路‐A03;采购‐A04;
     * 水运‐A06;其他‐A99
     */
    private String tender_project_type;

    /**
     * 投标有效期,单位天，必填,可能为"‐"
     */
    private String valid_period;
    /**
     * 招标公告地址，必填
     */
    private String tender_notice_url;
    /**
     * 招标文件下载地址，必填
     */
    private String tender_file_url;
    /**
     * 招标文件md5值，必填
     */
    private String tender_file_url_md5;
    /**
     * 项目审批文号，代理可能会填入”/“，必填,可能为“‐”
     */
    private String project_approval_no;
}
